Overview
*Spanish version at the end.
This is not a thorough description yet. The following document describes the architecture of the platform.
More information about architecture can be found in this document: https://docs.google.com/document/d/1HJ6zZd7ZHRxm9u7QHKXLRAc93yLN1FId9ycI7QuXidA/edit Privacy and security:
- https://docs.google.com/spreadsheets/d/1uo-48k8NZCTPXHItbFGQfwaeD0t406i32rU2YexcgI0/edit#gid=1941609708
- https://docs.google.com/document/d/16TxIqrvhvapUsvsVNPLqy0x7MtPYnNrU/edit?ts=607d7c4b
- https://docs.google.com/document/d/1jZYQmCeiJlxzW7wFn8uckOH8JieHjtqs/edit
Personal information practices
What data we have access to:
- Emails. Though there are some integration models like LTI or Auth Token than can work without an email address.
- IP addreses.
- Last 4 digits of credit cards. All payment source information go straight to the gateways (Stripe or MercadoPago), we don't ever have access to that data. Only in case the user makes a purchase.
- Full name, postal code and other billing information. Only in case the user makes a purchase.
General security practices
- HTTPS is used everywhere to eliminate the possibility of man-in-the-middle attacks.
- All the files are encrypted at rest and on transit.
- Original files are processed and split into minimal pieces before the user can access the title.
- Constantly while consuming the content and every time a user accesses a piece of the title, the system validates the user has access to the title.
Content processing
Our platform processes the original files before end users can consume the content via streaming or downloaded for offline use.
This processing step has two main objectives:
- Transform the source content so that end users can securely consume it.
- Optimize the content to loads faster, improving the user's experience.
The specific processing steps depend on the original file type. However, in general, the original file is split into multiple smaller files representing a portion of the original one.
Mobile app downloads
These are the key considerations when downloading content for offline use in mobile apps:
- Only the processed files reach the final user's device.
- All content download is done through secure servers via HTTPS.
- The files are stored in a private directory the OS provides to the app and to which the user has no access.
- The file's name and extension are obfuscated to avoid being easily recognized if the user has root access to the device.
- The app will automatically delete all local copies of the processed files if:
- The download expires.
- The access was granted to a free publication with an expiration date set.
- The access was granted through a PPU license, and the loan expired.
- The user logs out.
Procesamiento de contenido
Nuestra plataforma procesa los archivos originales antes de que los usuarios finales puedan consumir el contenido por streaming o descargarlo para su uso sin conexión.
Este paso de procesamiento tiene dos objetivos principales:
- Transforma el contenido de origen para que los usuarios finales puedan consumirlo de forma segura.
- Optimiza el contenido para que cargue más rápido, mejorando la experiencia del usuario.
Los pasos de procesamiento específicos dependen del tipo de archivo original. Sin embargo, en general, el archivo original se divide en varios archivos más pequeños que representan una parte del original.
Descargas en aplicaciones móviles
Estas son las consideraciones clave al descargar contenido para uso sin conexión en aplicaciones móviles:
- Solo los archivos procesados llegan al dispositivo del usuario final.
- Toda la descarga de contenido se realiza a través de servidores seguros a través de HTTPS.
- Los archivos se almacenan en un directorio privado que el sistema operativo proporciona a la aplicación y al que el usuario no tiene acceso.
- El nombre y la extensión de los archivos están ocultos para evitar ser reconocidos fácilmente si el usuario tiene acceso de root al dispositivo.
- La aplicación eliminará automáticamente todas las copias locales de los archivos procesados si:
- La descarga caduca.
- Se otorgó acceso a una publicación gratuita con una fecha de vencimiento establecida.
- El acceso se otorgó a través de una licencia PPU y el préstamo expiró.
- El usuario cierra la sesión.